Statement of the Technical Field
The inventive arrangements relate to computer networks, and more particularly to methods and systems for routing information over a computer network.
Description of the Related Art
The related art concerns methods and systems for routing data through computer networks. In a packet network data is communicated from a source computer to a destination computer by means of data packets, which are sometimes called datagrams. A typical data network can comprise numerous routers which are used to facilitate a flow of data between a source and destination node. The routers have ports for receiving incoming data packets and transmitting outgoing data packets. The packets are received from a source node or another router and are then transmitted to another router or to a destination node.
There are three basic aspects of network routing, which include: (1) routing protocols, (2) routing algorithms and (3) routing databases. Routing protocols are semantics and other procedures that allow information to be gathered and distributed among routers. Routing algorithms are processes or methods that use the information which has been gathered to determine paths to destination nodes. The routing databases comprise path information which has been stored based on the results of processing performed by routing algorithms and may include routing table entries.
A routing protocol will define the manner in which information concerning routes is shared or communicated between network nodes (routers). A conventional router operating in accordance with a routing protocol will transmit route advertisements to other routers. The route advertisements will indicate that a particular network is available or reachable. The route advertisement will include information concerning the IP address of the next “hop” which is to be used to get to the final destination. Methods used by routing protocols to advertise available routes will comprise either a link-state or vector-distance type of routing protocol. The link-state protocols broadcast information concerning the link state of neighbor nodes (i.e., whether a link is available). The vector-distance type routing protocols involve broadcast of an entire routing table possessed by a particular router node.
A routing domain can be understood to include a particular group of routers that operate under common administrative control. As such, these routers will generally all utilize a shared or common routing protocol. An Interior Gateway Protocol (IGP) such as RIP, OSPF, and ISIS is a routing protocol that is directed to intra-domain routing. In contrast, Exterior Gateway Protocols (EGP) concern inter-domain routing, between enterprises under disparate administrative control. Border Gateway Protocol (BGP) is a well-known standard inter-domain protocol and is the routing protocol used to route traffic across the Internet. BGP is primarily a vector-distance type routing protocol.
Routing databases can comprise routing tables containing routing entries which relate to different routes data packets can travel to reach a destination node. Each entry will comprise a destination IP address and the IP address of the device comprising the next hop in order to reach that destination. Routing tables are often static as they are based primarily on network configuration and topology.
For a particular incoming data packet, a routing table may specify either a direct route or an indirect route to a destination node. The direct route will specify a destination host as the next destination for the particular packet. However, there are many instances in which the router which receives a packet will not have available to it a direct communication path to a destination node. In those instances the routing table will specify an indirect route for the data packet to reach a particular destination, which is usually through another router. As will be appreciated, a data packet may be communicated through multiple routers as it travels along a path from a source node to a destination node. Each time the data packet communicates from one such device to the next device, it is referred to as a “hop”.
When searching the routing table to determine a particular route that a packet will be assigned, the router uses the destination IP address of each packet as a search key. The search key is used to locate an appropriate IP address of the next hop device that the data packet should be directed to in order to reach its destination host. The routing tables can include information concerning both primary and alternate routes through which data can be communicated so as to arrive at its intended destination. The alternate routes are used when traffic congestion or equipment failures prevents the packet data from being communicated along the preferred primary route.